﻿/**
 * @name umi 的路由配置
 * @description 只支持 path,component,routes,redirect,wrappers,name,icon 的配置
 * @param path  path 只支持两种占位符配置，第一种是动态参数 :id 的形式，第二种是 * 通配符，通配符只能出现路由字符串的最后。
 * @param component 配置 location 和 path 匹配后用于渲染的 React 组件路径。可以是绝对路径，也可以是相对路径，如果是相对路径，会从 src/pages 开始找起。
 * @param routes 配置子路由，通常在需要为多个路径增加 layout 组件时使用。
 * @param redirect 配置路由跳转
 * @param wrappers 配置路由组件的包装组件，通过包装组件可以为当前的路由组件组合进更多的功能。 比如，可以用于路由级别的权限校验
 * @param name 配置路由的标题，默认读取国际化文件 menu.ts 中 menu.xxxx 的值，如配置 name 为 login，则读取 menu.ts 中 menu.login 的取值作为标题
 * @param icon 配置路由的图标，取值参考 https://ant.design/components/icon-cn， 注意去除风格后缀和大小写，如想要配置图标为 <StepBackwardOutlined /> 则取值应为 stepBackward 或 StepBackward，如想要配置图标为 <UserOutlined /> 则取值应为 user 或者 User
 * @doc https://umijs.org/docs/guides/routes
 */
export default [
  {
    path: '/user',
    layout: false,
    routes: [
      {
        name: 'login',
        path: '/user/login',
        component: './user/login',
      },
    ],
  },
  {
    path: '/lock', // 锁屏页路由
    layout: false,
    name: '锁屏',
    component: './lock',
  },
  {
    path: '/index',
    name: '数据统计',
    icon: 'BarChart',
    component: './index',
    access: 'hasRoute',
    multiTab: {
      name: '数据统计',
      keepAlive: true,
    },
  },
  {
    path: '/squad',
    name: '班级管理',
    icon: 'Table',
    component: './squad',
    access: 'hasRoute',
    multiTab: {
      name: '班级管理',
      keepAlive: true,
    },
  },
  {
    path: '/teacher',
    name: '教师管理',
    icon: 'Idcard',
    component: './teacher',
    access: 'hasRoute',
    multiTab: {
      name: '教师管理',
      keepAlive: true,
    },
  },
  {
    path: '/clock',
    name: '打卡任务',
    icon: 'CheckCircle',
    component: './clock',
    access: 'hasRoute',
    multiTab: {
      name: '打卡任务',
      keepAlive: true,
    },
  },
  {
    path: '/student',
    name: '学员管理',
    icon: 'User',
    component: './student',
    access: 'hasRoute',
    multiTab: {
      name: '学员管理',
      keepAlive: true,
    },
  },
  {
    path: '/goodstype',
    name: '商品分类',
    icon: 'Appstore',
    component: './goodstype',
    access: 'hasRoute',
    multiTab: {
      name: '商品分类',
      keepAlive: true,
    },
  },
  {
    path: '/goods',
    name: '商品管理',
    icon: 'Shop',
    access: 'hasRoute',
    routes: [
      {
        path: 'goodslist',
        name: '商品列表',
        component: './goods/goodslist',
        access: 'hasRoute',
        multiTab: {
          name: '商品列表',
          keepAlive: true,
        },
      },
      {
        path: 'goodsgray',
        name: '商品回收站',
        component: './goods/goodsgray',
        access: 'hasRoute',
        multiTab: {
          name: '商品回收站',
          keepAlive: true,
        },
      },
    ],
  },
  {
    path: '/order',
    name: '订单管理',
    icon: 'File',
    component: './order',
    access: 'hasRoute',
    multiTab: {
      name: '订单管理',
      keepAlive: true,
    },
  },
  {
    path: '/swiper',
    name: '轮播管理',
    icon: 'Picture',
    component: './swiper',
    access: 'hasRoute',
    multiTab: {
      name: '轮播管理',
      keepAlive: true,
    },
  },
  {
    path: '/goodsadd',
    component: './goods/goodsadd',
    // 标签页配置
    //隐藏标签页
    hideInMenu: true,
    tabConfig: {
      closable: true,
      autoCloseOnLeave: true, // 离开时自动关闭标签
    },
  },
  {
    path: '/',
    redirect: '/index',
  },
  {
    path: '*',
    layout: false,
    component: './404',
  },
];